package io.sage.modules.basics.service.impl;

import io.sage.modules.basics.entity.BWarehouseType;
import io.sage.modules.basics.dao.BWarehouseTypeMapper;
import io.sage.modules.basics.service.BWarehouseTypeService;
import org.springframework.stereotype.Service;

import javax.annotation.Resource;
import java.util.Date;
import java.util.List;

/**
 * 仓库类型管理(BWarehouseType)表服务实现类
 *
 * @author zxh
 * @since 2019-08-01 09:05:29
 */
@Service("bWarehouseTypeService")
public class BWarehouseTypeServiceImpl implements BWarehouseTypeService {
    @Resource
    private BWarehouseTypeMapper bWarehouseTypeMapper;

    /**
     * 通过ID查询单条数据
     *
     * @param id 主键
     * @return 实例对象
     */
    @Override
    public BWarehouseType queryById(Integer id) {
        return this.bWarehouseTypeMapper.queryById(id);
    }

    @Override
    public List<BWarehouseType> queryAll(BWarehouseType bWarehouseType) {
        return this.bWarehouseTypeMapper.queryAll(bWarehouseType);
    }


    /**
     * 新增数据
     *
     * @param bWarehouseType 实例对象
     * @return 实例对象
     */
    @Override
    public BWarehouseType insert(BWarehouseType bWarehouseType) {
        bWarehouseType.setCreateTime(new Date());
        bWarehouseType.setUpdateTime(new Date());

        this.bWarehouseTypeMapper.insert(bWarehouseType);
        return bWarehouseType;
    }

    /**
     * 修改数据
     *
     * @param bWarehouseType 实例对象
     * @return 实例对象
     */
    @Override
    public int update(BWarehouseType bWarehouseType) {
        bWarehouseType.setUpdateTime(new Date());
        return this.bWarehouseTypeMapper.update(bWarehouseType);
    }

    /**
     * 通过主键删除数据
     *
     * @param id 主键
     * @return 是否成功
     */
    @Override
    public boolean deleteById(Integer id) {
        return this.bWarehouseTypeMapper.deleteById(id) > 0;
    }
    /**
     * 查找是否被使用中
     *
     * @param ids 主键
     * @return List<BWarehouseType>
     */
    @Override
    public List<BWarehouseType> selectIsUse(Integer[] ids) {

        return this.bWarehouseTypeMapper.selectIsUse(ids);
    }

    @Override
    public int deleteBatchIds(Integer[] ids) {
        return  this.bWarehouseTypeMapper.deleteBatchIds(ids);
    }
}